package cn.iocoder.yudao.module.student.dal.dataobject.student;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 学生管理 DO
 *
 * @author 周枫皓
 */
@TableName("member_student")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WebStudentDO extends BaseDO {

    /**
     * 学生id
     */
    @TableId
    private Long id;
    /**
     * 学生昵称
     */
    private String nickname;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 密码
     */
    private String password;
    /**
     * 注册 IP
     */
    private String registerIp;
    /**
     * 最后登录IP
     */
    private String loginIp;
    /**
     * 最后登录时间
     */
    private Date loginDate;
    /**
     * 学生姓名
     */
    private String studentName;
    /**
     * 学生大头照
     */
    private String studentPictureUrl;
    /**
     * 当前身份
     *
     * 枚举 {@link TODO recruitment_target 对应的类}
     */
    private String identify;
    /**
     * 性别
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private String sex;
    /**
     * 身份认证正面图片地址
     */
    private String authenticationFrontPictureUrl;
    /**
     * 身份认证反面图片地址
     */
    private String authenticationBackPictureUrl;
    /**
     * 学生认证状态
     *
     * 枚举 {@link TODO student_status 对应的类}
     */
    private String status;
    /**
     * 政治面貌
     */
    private String political;
    /**
     * 出生日期
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date birthday;
    /**
     * 居住城市
     */
    private String liveCity;
    /**
     * 毕业时间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Date graduateTime;
    /**
     * 籍贯
     */
    private String nativePlace;
    /**
     * 名族
     */
    private String clan;
    /**
     * 手机号码
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 学历
     */
    private String education;
    /**
     * 年级
     */
    private String grade;
    /**
     * 录取方式
     */
    private String matriculateWay;
    /**
     * 是否有学位证书
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private String diploma;
    /**
     * 大学名称
     */
    private String universityName;
    /**
     * 所学专业
     */
    private String specialty;
    /**
     * 在校开始日期
     */
    private Date universityStartDate;
    /**
     * 在校结束日期
     */
    private Date universityEndDate;
    /**
     * 期望行业(可能多个)
     */
    private String targetIndustry;
    /**
     * 学生类型;1:国内,2:国外
     */
    private Integer studentAbroad;
    /**
     * 护照
     */
    private String passport;
    /**
     * 期望城市
     */
    private String targetCity;
    /**
     * 最低薪资
     */
    private Integer lowestSalary;
    /**
     * 最高薪资
     */
    private Integer highestSalary;

    private Date postDate;

    /**
     * 是否实名
     */
    private String isRealName;
    private String cardNo;
    private String authenticationCardFrontPictureUrl;
    private String authenticationCardBackPictureUrl;
    @ApiModelProperty(value = "到岗时间", required = true)
    private String inJobTime;
    @ApiModelProperty(value = "求职状态", required = true)
    private String jobStatus;

    private String remark;

}
